﻿namespace Twitter
{
	/// <summary>
	/// Exposes operations related to users' statuses.
	/// </summary>
	public interface IStatuses : IHideObjectMembers
	{
		/// <summary>
		/// Deletes a status entry given its <paramref name="statusId"/>.
		/// </summary>
		/// <returns><see langword="true"/> if the status could be deleted successfully; <see langword="false"/> otherwise.</returns>
		bool Delete(string statusId);
		/// <summary>
		/// Gets the latest status of the authenticated user.
		/// </summary>
		Status GetLatest();
		/// <summary>
		/// Updates the status of the authenticated user.
		/// </summary>
		/// <param name="newStatus">New status message.</param>
		/// <remarks>
		/// Functionally equivalent to calling <see cref="BotClient.Execute"/>.
		/// </remarks>
		/// <returns><see langword="true"/> if the status could be updated successfully; <see langword="false"/> otherwise.</returns>
		bool Update(string newStatus);
	}
}
